An example of a conventional motor speed controller is shown in FIG. 23 (refer to FIG. 1 in Japanese Patent Laid-open Publication No. 254550/1998). In this controller, a subtractor SB in a speed control unit 3 calculates a difference between a fed-back speed, obtained by a speed calculation unit 2 converting the fed-back position output from an encoder E, and the speed indicated by the speed control unit 3. This difference is processed by the speed control unit 3 to output a torque command, which outputs a torque command to a torque control unit 4. The torque control unit 4 controls a current flowing into a motor M so as to cause the motor M to produce a torque as required by a torque command.
Normally, the speed control unit 3 in this controller is constructed as a proportional-integral control (PI-control) unit. In this PI-control unit, a difference between the speed indicated by the speed command and the fed-back speed is calculated by a subtractor SB, and is passed through a proportional control system with a gain of 1 to an adder AD. In the integral control system, the difference is multiplied by an integral gain by a multiplier 31 and integrated by a speed integrator 32 before being supplied to the adder AD. The adder AD adds an output of the proportional control system and an output of the integral control system and outputs the result to the multiplier 33, which in turn multiplies the output of the adder AD by a proportional gain and outputs the result as a torque command. By constructing the speed control unit 3 as a PI-control unit, it is possible to minimize not only a transient difference of speed but also a regular difference. Furthermore, an integration of the speed difference can improve an ability of suppressing disturbance applied to a motor.
Generally, control systems have a limited response, which means that a fed-back speed takes long to respond to an output speed command. Upon receiving the speed command, the motor begins to rotate. However, after the speed command has been output until the fed-back speed is obtained (until the fed-back speed corresponding to the speed command appears), the speed integrator 32 performs an integrating operation. While the motor is rotating at a constant speed, the integrated value decreases. But as the motor M decelerates, the integrating operation is performed again. All the remaining integrated value is discharged, and the motor M stops. Thus, in the conventional controller, after the speed command has become zero, the speed response is delayed for an amount corresponding to the residual quantity of the remaining integrated value in the speed integrator. As a result, there has been a problem that a speed integral gain can not be increased since an over shoot occurs in a fed-back speed.
There has been a controller as shown in FIG. 24 as a conventional current controller of a motor. In this controller, each of current differences between each of the current commands of a d-axial current and a q-axial current and each of a d-axial fed-back current and a q-axial current detected by a current detector D is calculated by the subtractor means SBb. Each of the current differences calculated by the subtractor means SBa and SBb are input to the current control unit 4a and 4b to obtain a d-axial voltage command and a q-axial voltage command. Each of the voltage commands is d-q converted and two-phase to three-phase converted in coordinate converter 15a to produce a converted command. The motor M is driven by the PWM inverter 17, basing on the converted command from the coordinate converter 15a to produce a converted command. A fed-back current is produced by d-q converting a three-phase current detected by the current detector D in the coordinate converter 15b. The coordinate converter 1b performs a three-phase to two-phase convert and a d-q convert, basing on a signal from a signal generation means 18 for generating the signal corresponding to a rotating position of an encoder E.
Normally, each of the current control units 4a and 4b in this controller is comprised of a PI controller. The current control unit 4a, for example, is composed of an integral control system (I system) and the proportional control system (P system), as shown in FIG. 25. In the integral control system, a current difference between a current indicated by a current command and a fed-back current is calculated by a subtraction means SBa, and the current difference is multiplied by an integral gain of a multiplication means 191. The multiplied value is integrated by a current integrator 193. In the proportional control system, a current difference calculated by a subtraction means SBa is multiplied by a constant. The current control unit 4a, furthermore, adds an output of the integral control system and an output of the proportional control system by an addition means to output an added value, and multiply the added value by the proportional gain in a multiplication means 195 to output a voltage commands. Thus a regular difference as well as transient difference of currents can be suppressed.
Generally, control systems have a limited response, which means that a motor current takes long to respond to a output current command. Upon receiving the current command, the motor current begins to flow. However, after the voltage command has been output from the current control unit 4a until the motor current appears, the current integrator 193 performs an integrating operation. Thus, in the conventional current controller, the current response is delayed for an amount corresponding to the residual quantity of the remaining integrated value in the current integrator 193, which might have caused an overshoot.
In a controller which is shown in Japanese Patent Laid Open Publication No. 66075/1996, a delay of a fed-back current is calculated from an amount of variation of a current command, a motor inductance, and a motor resistance. This delay of the fed-back current is added to the current differential unit to perform a compensation. A differential ingredient such as the amount of variation of the current command tend to make a command response vibrate, which is not preferable to realize a smooth control. In addition the constants such as a motor inductance and the motor resistance are required. A value of the motor inductance varies depending on an amount of a motor current, the motor resistance varies depending on a temperature. Therefore, the controller needs a compensation with a consideration of an amount of the motor current, and a temperature of the motor.
An example of a conventional motor position controller is shown in FIG. 26 (refer to FIG. 1 in Japanese Patent Laid-open Publication No. 254550/1998). In this controller, a subtractor in a position control unit calculates a difference between the position indicated by the position command and a fed-back position. This difference is processed by the position control unit to output a speed command. A subtractor in a speed control unit 3 calculates a difference between a speed indicated by a speed command and a fed-back speed, obtained by a speed calculation unit 2 converting the fed-back position output from an encoder E. This difference is processed by the speed control unit 3, which outputs a torque command to a torque control unit 4. The torque control unit 4 controls a current flowing into a motor M so as to cause the motor M to produce a torque as required by a torque command.
Normally, the position control unit 1 in this controller is constructed as a proportional control (P-control) unit constructed the speed control unit 3 is constructed as a proportional-integral control (PI-control) unit. The conventional PI-control unit constructing the speed control unit 3 has a constitution shown in FIG. 27. In this PI-control unit, a difference between the speed indicated by the speed command and the fed-back speed is calculated by a subtractor SB, and is input to an adder AD through a proportional control system with a gain of 1. In the integral control system, the difference is multiplied by an integral gain in a multiplier 31 and integrated by a speed integrator 32 before being supplied to the adder AD. The adder AD adds an output of the proportional control system and an output of the integral control system, and sends the result to a multiplier 33, which in turn multiplies the output of the adder AD by a proportional gain and outputs the result as d torque command. By constructing the speed control unit 3 as a PI-control unit, it is possible to minimize not only a transient difference of speed but also a regular difference.
Japanese Patent Laid Open Publication No. 15911/1991 discloses a controlling method of a servo motor. In this method, a controlled variable of fed-forward position obtained by differentiating a position command is added to a controlled variable obtained by a position loop control to output a speed command. The controlled variable of fed-forward speed obtained by differentiating the controlled variable of fed-forward position is added to a variable obtained by a speed loop control to output a current command, which can enhance a response to obtain a stable servo system.
In the conventional controller, there has been a problem that an overshoot becomes larger by increasing a feed forward gain to 100%, while the followability is improved by increasing the feed forward gain. Since an overshoot deteriorates the processing quality, it needs to be suppressed as much as possible. FIG. 15 shows a simulation of a position control operation when a feed forward gain is set to 0% in the conventional controller. As shown in FIG. 15, an overshoot is smaller when a feed forward gain is smaller. However, as shown in FIG. 17, an overshoot is larger when the feed forward gain is set to 100%. Therefore conventionally, the followability has been improved within a range of a smaller overshoot, with the feed forward gain being set to around 50% as shown in FIG. 16.
Control-theoretically, in the feed forward control, it is recommended that a manipulated variable is determined by reverse operation so that the controlled variable approaches to a target value when the characteristics of a controlled object are known. In a conventional control system, the manipulated variable is a speed command and the controlled variable is a position, when a controlled object for performing a position control is taken as a speed control system. When the speed control system is expressed in the most simple model similar to the speed control system, the speed control system can be expressed in a primary delay system. When a reverse function of the controlled object is taken, the speed control system is expressed in a primary advance system. Since this procedure conventionally has been carried out with a constant compensation, a delay of higher order can not be compensated. As a result an overshoot has occurred.
There has been another factor, which regards a speed command to be output from the position controller. Normally, control systems have a limited response, which means that a speed feedback takes long to respond to a speed feed forward command. Upon receiving the speed feed forward command, the motor begins to rotate. However, a speed command is output from a position control unit depending on a position difference produced after the speed feed forward command has been output until the speed feedback responds. This position difference decreases while a motor rotates at constant speed, however, the position difference is produced when the motor slows down. As a result, the speed to output the speed command is output.
As described above, since the speed command produced by the position difference is added to the speed feed forward command, more speed commands are output than necessary. Thus, an overshoot has occurred.
Another factor of a problem has been in a speed controller. A speed controller is generally composed in PI control, as shown in FIG. 27. FIG. 15 to 17 show a result of a simulation when a conventional speed controller is used. Control systems have a limited response, which means that a speed feedback takes a long time to respond upon receiving a speed command. During the time, a speed integrator performs integration. This integrator charges and discharges electricity, which causes the speed controller to take longer to respond. Thus an overshoot has occurred. As described above, in the conventional control unit, the three reasons have caused an overshoot. The three reasons are that functions in a feed forward system are composed in a proportional system, a position control system is constructed without considering a delay of responses in a speed system, and that a speed controller is constructed without considering responses of a speed control system. Therefore a feed forward gain can not be increased up to 100%. Accordingly, there has been a problem that there is a limitation to increase the followability.
The present invention solves the above problems, and aims to provide a motor controller with less overshoots.
Another purpose of the invention is to provide a high-speed motor controller with less overshoots, highly capable of suppressing disturbance.
The purpose of the invention is to provide a current controller with less overshoots, highly capable of speeding up a current response in a current control system at a higher speed without adding a motor parameter.
The purpose of the invention is to provide a motor position controller with less overshoots and the higher followability, capable of increasing a feed forward gain up to 100%.